Service Oriented Architecture (SOA) refers to an evolving technology which is increasingly implemented for building distributed computing systems. A service in the context of an SOA is typically defined as a functionality which is exposed to other nodes. A typical SOA collects discreet services into a single logical application. In other words, the services can be implemented as building blocks to form an ad-hoc application from existing software applications. In some SOAs, the services can be local or remote and a single node in an SOA can act as both a client and as a service for another client.
Typically, an SOA is implemented using Web Services which facilitate accessing a local application via the Internet. In other words, Web Services allow the exchange of data between different services of an SOA. Using Web Services, a data service can publish the function of an application to other nodes of the SOA by sending a message which describes the location of a service and the functionality performed by that service. Typically, a service is called when a message invoking the operation is received. For example, the message may specify a given operation in the message header.
However, there are a variety of discrete applications which can be described as separate Service Oriented Environments (SOEs). These various SOEs may further utilize communication systems which differ in how they exchange data. When integrating various communication systems into an SOA, the differences in how they operate can hinder integrating those platforms